{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn import svm"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 创建40个点，随机20行2列，2个维度，每个维度减2,意思可以让之后的图上的点在x轴y轴分离\n",
    "# x_data1 = np.r_[np.random.randn(20, 2), np.random.randn(20, 2)]\n",
    "\n",
    "# np.r_数据合并\n",
    "x_data = np.r_[np.random.randn(20, 2) - [2, 2], np.random.randn(20, 2) + [2, 2]]\n",
    "y_data = [0]*20 +[1]*20 #标签，前２０属于类别０，后２０数据类别１\n",
    "\n",
    "plt.scatter(x_data[:,0],x_data[:,1],c=y_data)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,\n",
       "  decision_function_shape='ovr', degree=3, gamma='auto', kernel='linear',\n",
       "  max_iter=-1, probability=False, random_state=None, shrinking=True,\n",
       "  tol=0.001, verbose=False)"
      ]
     },
     "execution_count": 91,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#fit the model ，线性核函数\n",
    "model = svm.SVC(kernel='linear')\n",
    "model.fit(x_data, y_data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[0.71411177, 0.59255603]])"
      ]
     },
     "execution_count": 92,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.coef_ # 超平面参数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.6034413])"
      ]
     },
     "execution_count": 93,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.intercept_  # 截距，也可说是超平面偏置，"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 获取分离平面 ,超平面的公式为：x1w1+x2w2+b=0--->w1/w2*x1 + x2 = -b/w2\n",
    "# x2 = -w1/w2*x1 -b/w2 (y=kx+d)\n",
    "\n",
    "plt.scatter(x_data[:,0],x_data[:,1],c=y_data)\n",
    "x_test = np.array([[-5],[5]])  # 定义两个点，\n",
    "d = -model.intercept_/model.coef_[0][1]  # -b/w2\n",
    "k = -model.coef_[0][0]/model.coef_[0][1] # -w1/w2\n",
    "y_test = d + k*x_test\n",
    "plt.plot(x_test, y_test, 'k')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[-0.26606952, -2.3863193 ],\n",
       "       [ 1.73104115, -1.41641156],\n",
       "       [ 0.85261185, -0.35778303]])"
      ]
     },
     "execution_count": 95,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.support_vectors_  # 查看支持向量，有3个，说明有条线会经过两个样本点\n",
    "# 此处支持向量会有可能不同，重复去看下什么意思？\n",
    "# ？？？？？？？？？？？？？？？？？？？？？？？？？？？？？？？？？？？？？"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 画出通过支持向量的分界线\n",
    "b1 = model.support_vectors_[0]\n",
    "y_down = k*x_test + (b1[1] - k*b1[0])\n",
    "b2 = model.support_vectors_[-1]\n",
    "y_up = k*x_test + (b2[1] - k*b2[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(x_data[:,0],x_data[:,1],c=y_data)\n",
    "x_test = np.array([[-5],[5]])\n",
    "d = -model.intercept_/model.coef_[0][1]\n",
    "k = -model.coef_[0][0]/model.coef_[0][1]\n",
    "y_test = d + k*x_test\n",
    "plt.plot(x_test, y_test, 'k')\n",
    "plt.plot(x_test, y_down, 'r--')\n",
    "plt.plot(x_test, y_up, 'b--')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
